package com.gxar.quick.ar.server.db.mapper;

import com.gxar.quick.ar.server.base.model.plaza.vo.response.PlazaListResponse;
import com.gxar.quick.ar.server.db.model.PlazaEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author linsy
 * @version 1.0
 * @created 2023/11/3 11:14
 */
@Mapper
public interface PlazaMapper {

    /**
     * 查询广场页面
     *
     * @param userId 用户id
     * @param type   类型
     * @return 响应
     */
    List<PlazaListResponse> queryPage(Long userId, Integer type);

    /**
     * 增加收藏数量
     *
     * @param id            广场id
     * @param increaseCount 增加的数量
     */
    void increaseFavorites(Long id, Integer increaseCount);

    /**
     * 减少收藏数量
     *
     * @param id            广场id
     * @param decreaseCount 减少的数量
     */
    void decreaseFavorites(Long id, Integer decreaseCount);

    /**
     * 根据作品id减少收藏数量
     *
     * @param workId        作品id
     * @param decreaseCount 减少数量
     */
    void decreaseFavoritesByWorksId(Long workId, Integer decreaseCount);

    /**
     * 新增分享次数
     *
     * @param id            广场id
     * @param increaseCount 转发次数
     */
    void increaseShare(Long id, Integer increaseCount);

    /**
     * 根据作品id查询
     *
     * @param worksId 作品id
     * @return 广场
     */
    PlazaEntity queryByWorksId(Long worksId);
}
